iT邦幫忙

6

用 Javascript 取得下載速度

  • 分享至 

  • xImage
  •  

網路上有人在問,要如何透過 AJAX 取得 Client 下載 Server 資料速度
但基於每個瀏覽器對 XHR (XMLHttpRequest) 所採取的安全策略來說
這個物件只能存取自身網站上的資源,無法「直接」存取其他網站上的資料。

所以,我們就沒辦法了嗎?

其實不盡然,我們可以利用 Javascript 的 Image 物件的一些特性,來達到類似的目的。

原理大致上如下
當 Image 載入完成時,會視情況觸發兩種事件。
在一般正常的情況下,當它下載完圖片檔案時,它會觸發 OnLoad
相反的,若載入的檔案不是圖片格式,它則會觸發 OnError

程式碼如下:大家可以參考一下。 偷笑

var start_time = new Date();
var load = new Image();

complete = function (event) {
  var end_time = new Date();
  alert(end_time - start_time);
};

load.onerror = complete;
load.onload = complete;

load.src = 'http://www.yahoo.com.tw'+'?'+Math.random;

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言